﻿package Engine.RMI
{
    import Framework.Serialize.*;

    public class ERMIDispatchStatus extends Object
    {
        public var __value:int;
        private static const __T:Array = ["DispatchOK", "DispatchTimeOut", "DispatchException", "DispatchObjectNotExist", "DispatchOperationNotExist", "DispatchAsync"];
        private static var __values:Array = new Array();
        public static const _DispatchOK:int = 0;
        public static const DispatchOK:ERMIDispatchStatus = new ERMIDispatchStatus(_DispatchOK);
        public static const _DispatchTimeOut:int = 1;
        public static const DispatchTimeOut:ERMIDispatchStatus = new ERMIDispatchStatus(_DispatchTimeOut);
        public static const _DispatchException:int = 2;
        public static const DispatchException:ERMIDispatchStatus = new ERMIDispatchStatus(_DispatchException);
        public static const _DispatchObjectNotExist:int = 3;
        public static const DispatchObjectNotExist:ERMIDispatchStatus = new ERMIDispatchStatus(_DispatchObjectNotExist);
        public static const _DispatchOperationNotExist:int = 4;
        public static const DispatchOperationNotExist:ERMIDispatchStatus = new ERMIDispatchStatus(_DispatchOperationNotExist);
        public static const _DispatchAsync:int = 5;
        public static const DispatchAsync:ERMIDispatchStatus = new ERMIDispatchStatus(_DispatchAsync);

        public function ERMIDispatchStatus(param1:int)
        {
            this.__value = param1;
            __values[param1] = this;
            return;
        }// end function

        public function value() : int
        {
            return this.__value;
        }// end function

        public function toString() : String
        {
            return __T[this.__value];
        }// end function

        public function equals(param1:Object) : Boolean
        {
            if (param1 == this)
            {
                return true;
            }
            var _loc_2:* = param1 as ERMICallModel;
            if (_loc_2 == null)
            {
                return false;
            }
            return this.__value == _loc_2.value();
        }// end function

        public function hashCode() : int
        {
            return 5 * this.__value;
        }// end function

        public function __write(param1:SerializeStream) : void
        {
            param1.writeByte(this.__value);
            return;
        }// end function

        public static function convert(param1:int) : ERMIDispatchStatus
        {
            return __values[param1];
        }// end function

        public static function __read(param1:SerializeStream) : ERMIDispatchStatus
        {
            var _loc_2:* = param1.readByte();
            if (_loc_2 < 0 || _loc_2 >= 6)
            {
                throw new MarshalException();
            }
            return ERMIDispatchStatus.convert(_loc_2);
        }// end function

    }
}
